For system-on-chip (SOC) applications, it is desirable to integrate many functional blocks into a single integrated circuit. The most commonly used blocks include a microprocessor or micro-controller, static random access memory (SRAM) blocks, non-volatile memory blocks, and various special function logic blocks. However, traditional non-volatile memory processes, which typically use stacked gate or split-gate memory cells, are not compatible with a conventional logic process.
The combination of a non-volatile memory (NVM) process and a conventional logic process results in a much more complicated and expensive “merged non-volatile memory and logic” process to implement system-on-chip integrated circuits. This is undesirable, because the typical usage of the non-volatile memory block in an SOC application is small in relation to the overall chip size.